package com.itheima.wallet.user.api;

import com.baomidou.mybatisplus.extension.service.IService;
import com.itheima.wallet.common.domain.User;
import com.itheima.wallet.common.vo.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.http.ResponseEntity;

/**
 * @Author HuangYuChen
 * @Date 2021/3/8 19:35
 * @Description: // TODO
 **/
public interface UserService extends IService<User> {

    /**
     * 注册新用户
     *
     * @return
     */
    ResponseResult register(User user);

    /**
     * 登录
     *
     * @param phone 手机号
     * @param code  验证码
     * @return
     */
    ResponseResult login(String phone, String code);

    /**
     * 发送动态验证码
     *
     * @param phone 手机号
     * @return
     */
    ResponseResult sendCode(String phone,String type);

    /**
     * 校验短信验证码
     *
     * @param phone
     * @param code
     * @return
     */
    boolean checkSMSCode(String phone, String code, String type);

    /**
     * 验证Token，返回用户信息
     *
     * @param token
     * @return 返回用户的手机号和账户ID
     */
    User queryUserByToken(String token);
}
